/**
 * @file 渲染进程全局状态管理库
 * @description 提供多窗口一致性状态管理解决方案，支持运行时状态和持久性状态管理
 *
 * ## 核心功能
 * - **运行时状态** (`createRuntimeState`): 进程间实时共享的临时状态，适用于主题、语言等实时同步场景
 * - **持久性状态** (`createStorageState`): 自动持久化的状态，支持本地存储和多窗口同步
 * - **系统主题状态** (`systemThemeState`): 预定义的系统主题状态管理
 *
 * ## 使用场景
 * - Electron 多窗口应用的状态同步
 * - 用户配置的持久化存储
 * - 实时状态在多个渲染进程间的共享
 *
 * @author 黄敏
 * @version 1.0.0
 * @since 2025-06-24
 */

import { createStorageState } from './storage-state'
import type { SystemConfig } from '../type'

export { createRuntimeState, systemThemeState } from './runtime-state'
export { createStorageState } from './storage-state'

/**
 * 用户系统设置存储
 * @description 管理应用的系统级设置，如主题、语言等
 * 基于Pinia实现，支持响应式更新和类型安全访问
 * 提供 get() 和 set() 方法进行状态操作，支持计算属性直接访问
 */
export const systemState = createStorageState(
  'system',
  {
    theme: 'system',
    language: 'zhHans',
    translationLanguage: ''
  } as SystemConfig,
  2
)
